$.fn.creaAutocompletable = function(url,datos,accion,op,pos,extra_params) {
	return $(this).autocomplete(url, {
		multiple: true,
		dataType: "json",
		extraParams : extra_params,
		parse: function(data) {
			return $.map(data, function(row) {
				return {
					data: row,
					value: eval("row."+datos.id),
					result: eval("row."+datos.desc)
				};
			});
		},
		formatItem: function(item) {
			if(pos==1)
				return "<table cellspacing='0' cellspadding='0' width='100%' border='0'><tr><td width='90%'>"+eval("item."+datos.desc)+((op==true)?"</td><td width='10%'>"+eval("item."+datos.id):"")+"</td></tr></table>";
			else
				return "<table cellspacing='0' cellspadding='0' width='100%' border='0'><tr><td width='90%'>"+eval("item."+datos.id)+((op==true)?"</td><td width='10%'>"+eval("item."+datos.desc):"")+"</td></tr></table>";
		}
	}).result(accion);
};

$.fn.creaAutocompletableEspecial = function(url,datos,accion,extra_params) {
	return $(this).autocomplete(url, {
		multiple: true,
		dataType: "json",
		extraParams : extra_params,
		parse: function(data) {
			return $.map(data, function(row) {
				return {
					data: row,
					value: eval("row."+datos.id),
					result: eval("row."+datos.desc)
				};
			});
		},
		formatItem: function(item) {
				return "<table cellspacing='0' cellspadding='0' width='100%' border='0'><tr><td width='90%'>"+eval("item."+datos.campo1)+"</td><td width='10%'>"+eval("item."+datos.campo2)+"</td></tr></table>";
			
		}
	}).result(accion);
};

$.fn.bindCombo = function(url,params,datos) {
	var a =$(this);
	a.html("");
	$.getJSON(url,params, function(data) {
		$.each(data, function() {
			a.append(
					$("<option></option>").attr("value",eval("this."+datos.id)) 
							.text(eval("this."+datos.desc)));
		});
	});
};

$.fn.bindComboConAccion = function(url,params,datos,accion) {
	var a =$(this);
	a.html("");
	$.getJSON(url,params, function(data) {
		$.each(data, function() {
			a.append(
					$("<option></option>").attr("value",eval("this."+datos.id)) 
							.text(eval("this."+datos.desc)));
		});
		eval(accion+"();");
	});
};

$.fn.blockCarga = function(contexto) {
	return $(this).block({ 
        message: "<img src='"+contexto+"images/blue-loading.gif'/><h3>Procesando</h3>", 
        css: { border: '3px solid #a00' } 
    }); 
};


$.fn.blockCargaMensaje = function(contexto,mensaje) {
	return $(this).block({ 
        message: "<img src='"+contexto+"images/blue-loading.gif'/><h3>"+mensaje+"</h3>", 
        css: { border: '3px solid #a00' } 
    }); 
};